Update Status
Updating the status of card from its current status. During activation of physical cards, cardCvv is mandatory.
Card Type | Current Status | Status Action | Updated Status |
---|---|---|---|
PHYSICAL | CARD_IS_NOT_ACTIVATED | ACTIVATE | ACTIVATED |
REPORT MISSING CARD | LOST STOLEN | ||
REISSUE | NOT IN USE | ||
PHYSICAL | ACTIVATED | LOCK | TEMPRORY_BLOCKED_BY_CLIENT |
REPORT MISSING CARD | LOST STOLEN | ||
REISSUE | NOT IN USE | ||
PHYSICAL | TEMPRORY_BLOCKED_BY_CLIENT | UNLOCK | ACTIVATED |
REPORT MISSING CARD | LOST STOLEN | ||
REISSUE | NOT IN USE | ||
PHYSICAL | LOST_STOLEN | REPLACE CARD | NOT IN USE |
PHYSICAL / VIRTUAL | CLOSED | --- | --- |
PHYSICAL | RETURNED_UNDELIVERED | --- | --- |
VIRTUAL | ACTIVATED | LOCK | TEMPRORY_BLOCKED_BY_CLIENT |
DEACTIVATE | DEACTIVATED | ||
VIRTUAL | TEMPRORY_BLOCKED_BY_CLIENT | UNLOCK | ACTIVATED |
DEACTIVATE | DEACTIVATED | ||
PHYSICAL / VIRTUAL | TEMPRORY_BLOCKED_BY_ADMIN | --- | --- |
VIRTUAL | DEACTIVATED | --- | --- |
PHYSICAL | CARD_IS_NOT_ACTIVATED | MARK UNDELIVERED | RETURNED UNDELIVERED |
REPORT MISSING CARD | LOST STOLEN | ||
CLOSE | CLOSED | ||
REISSUE | NOT IN USE | ||
PHYSICAL | RETURNED_UNDELIVERED | REPLACE CARD | NOT IN USE |
CLOSE | CLOSED | ||
PHYSICAL | LOST_STOLEN | CLOSE | CLOSED |
REPLACE CARD | NOT IN USE | ||
PHYSICAL | ACTIVATED | LOCK | TEMPRORY_BLOCKED_BY_CLIENT |
BLOCK | TEMPRORY_BLOCKED_BY_ADMIN | ||
CLOSE | CLOSED | ||
REISSUE | NOT IN USE | ||
REPORT MISSING CARD | LOST STOLEN | ||
PHYSICAL | TEMPRORY_BLOCKED_BY_CLIENT | UNLOCK | ACTIVATED |
REISSUE | NOT IN USE | ||
PHYSICAL / VIRTUAL | TEMPRORY_BLOCKED_BY_ADMIN | UNBLOCK | ACTIVATED |
PHYSICAL / VIRTUAL | CLOSED | --- | --- |
VIRTUAL | ACTIVATED | LOCK | TEMPRORY_BLOCKED_BY_CLIENT |
BLOCK | TEMPRORY_BLOCKED_BY_ADMIN | ||
CLOSE | CLOSED | ||
DEACTIVATE | DEACTIVATED | ||
VIRTUAL | TEMPRORY_BLOCKED_BY_CLIENT | UNLOCK | ACTIVATED |
DEACTIVATE | DEACTIVATED | ||
VIRTUAL | DEACTIVATED | CLOSE | CLOSED |
If the card order is rejected (ORDER_REJECTED) or cancelled (ORDER_CANCELLED) by VISA, then Card status gets updated to 'CARD_REQUEST_NOT_PROCESSED'
On reaching the expiry date, Card status changes to 'EXPIRED_CARD' status
Method: POST
{{URL}}/cardv2
Headers
Name | Value |
---|---|
Content-Type | application/json |
Example
Payload Parameters
Parameters | Description |
---|---|
reference Optional | String Unique reference ID of update status operation Sample Value: "visadps100019" |
product Mandatory | String Name of the product associated with the card Sample Value: "DEFAULT" |
program Mandatory | String Name of the program to which the card product is mapped Sample Value: "DEFAULT" |
channel Mandatory | Enum Processing channel through which the card transaction happens Valid Values: PULSE VISA_DPS Sample Value: "VISA_DPS" |
transactionType Mandatory | String Type of operation / transaction Constant Value: "UPDATE_STATUS" |
customerId Mandatory | String Unique ID of customer who holds the card Sample Value: "100000000006001" |
cardId Mandatory | String Unique ID of the card Sample Value: "5434a20e0a9b4d1bbf8fea3f543f9a05" |
accountNumber Mandatory | String Account number linked to the card Sample Value: "400320588344662" |
statusAction Mandatory | Enum Card status that is to be updated Valid Values: LOCK UNLOCK ACTIVATE DEACTIVATE REPORT_LOST_STOLEN UNDELIVERED_CARD CLOSE BLOCK UNBLOCK Sample Value: "ACTIVATE" Note: BLOCK, UNBLOCK, CLOSE and UNDELIVERED_CARD statuses are allowed only for admin user |
cardCvv Mandatory (Applicable only for ‘ACTIVATE' statusAction) | String Encrypted Card Verification Value (CVV) of the card Sample Value: "fbbVg8NQFDwa5rtkjR+Wa4wqiZwUWoxaUVLO2fTFgeYvQ9RGBfyl6H0rpCvtEoEbhbVFTuJGX8hdgjfptOynnrKD5DUFpK0RDi+URuKIunzbiQ9Gq6iqs54S2LaWH0ZVwsvPb4HiP1mOX88oV7xZc7rzWcG1nOBErogItPTijlG/UMvVWU0SYMd+fjBNqMcdMeFe3GLch3KMFpAC4yC+sTSyLj9W8C0vOhF2bA3voxX2Vb5Xv27oR8Xn6jKoR+/ZzK0Ch3aF06P+Xxto/ZGZyvdxsN+s2ldEu+vHbK6QwXC30/U+J8TFOQ0rIbZny3LOtaBK0sbflAdLNlQwaFmCfQ==" |
isEncrypt Mandatory | String CVV should be mandatorily encrypted to ensure protection of card holder information Constant Value: "true" |
- cURL
- C#
- Go
- NodeJs
curl --location --globoff --request GET '{{URL}}/cardv2' \
--header 'Content-Type: application/json' \
--data '{"method":"ledger.CARD.request","id":"1","params":{"payload":{"reference":"visadps100019","product":"DEFAULT","program":"DEFAULT","channel":"VISA_DPS","transactionType":"UPDATE_STATUS","customerId":"100000000006001","cardId":"5434a20e0a9b4d1bbf8fea3f543f9a05","accountNumber":"400320588344662","statusAction":"ACTIVATE","cardCvv":"fbbVg8NQFDwa5rtkjR+Wa4wqiZwUWoxaUVLO2fTFgeYvQ9RGBfyl6H0rpCvtEoEbhbVFTuJGX8hdgjfptOynnrKD5DUFpK0RDi+URuKIunzbiQ9Gq6iqs54S2LaWH0ZVwsvPb4HiP1mOX88oV7xZc7rzWcG1nOBErogItPTijlG/UMvVWU0SYMd+fjBNqMcdMeFe3GLch3KMFpAC4yC+sTSyLj9W8C0vOhF2bA3voxX2Vb5Xv27oR8Xn6jKoR+/ZzK0Ch3aF06P+Xxto/ZGZyvdxsN+s2ldEu+vHbK6QwXC30/U+J8TFOQ0rIbZny3LOtaBK0sbflAdLNlQwaFmCfQ==","isEncrypt":true},"api":{"credential":"{{cred}}","signature":"{{signature}}","apiKey":"{{Api-key}}"}}}'
var options = new RestClientOptions("{{URL}}/cardv2")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Get);
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@" ""method"": ""ledger.CARD.request"",
" + "\n" +
@" ""id"": ""1"",
" + "\n" +
@" ""params"": {
" + "\n" +
@" ""payload"": {
" + "\n" +
@" ""reference"": ""visadps100019"",
" + "\n" +
@" ""product"": ""DEFAULT"",
" + "\n" +
@" ""program"": ""DEFAULT"",
" + "\n" +
@" ""channel"": ""VISA_DPS"",
" + "\n" +
@" ""transactionType"": ""UPDATE_STATUS"",
" + "\n" +
@" ""customerId"": ""100000000006001"",
" + "\n" +
@" ""cardId"": ""5434a20e0a9b4d1bbf8fea3f543f9a05"",
" + "\n" +
@" ""accountNumber"": ""400320588344662"",
" + "\n" +
@" ""statusAction"": ""ACTIVATE"",
" + "\n" +
@" ""cardCvv"": ""fbbVg8NQFDwa5rtkjR+Wa4wqiZwUWoxaUVLO2fTFgeYvQ9RGBfyl6H0rpCvtEoEbhbVFTuJGX8hdgjfptOynnrKD5DUFpK0RDi+URuKIunzbiQ9Gq6iqs54S2LaWH0ZVwsvPb4HiP1mOX88oV7xZc7rzWcG1nOBErogItPTijlG/UMvVWU0SYMd+fjBNqMcdMeFe3GLch3KMFpAC4yC+sTSyLj9W8C0vOhF2bA3voxX2Vb5Xv27oR8Xn6jKoR+/ZzK0Ch3aF06P+Xxto/ZGZyvdxsN+s2ldEu+vHbK6QwXC30/U+J8TFOQ0rIbZny3LOtaBK0sbflAdLNlQwaFmCfQ=="",
" + "\n" +
@" ""isEncrypt"": true
" + "\n" +
@" },
" + "\n" +
@" ""api"": {
" + "\n" +
@" ""credential"": ""{{cred}}"",
" + "\n" +
@" ""signature"": ""{{signature}}"",
" + "\n" +
@" ""apiKey"": ""{{Api-key}}""
" + "\n" +
@" }
" + "\n" +
@" }
" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{{URL}}/cardv2"
method := "GET"
payload := strings.NewReader(`{`+"
"+`
"method": "ledger.CARD.request",`+"
"+`
"id": "1",`+"
"+`
"params": {`+"
"+`
"payload": {`+"
"+`
"reference": "visadps100019",`+"
"+`
"product": "DEFAULT",`+"
"+`
"program": "DEFAULT",`+"
"+`
"channel": "VISA_DPS",`+"
"+`
"transactionType": "UPDATE_STATUS",`+"
"+`
"customerId": "100000000006001",`+"
"+`
"cardId": "5434a20e0a9b4d1bbf8fea3f543f9a05",`+"
"+`
"accountNumber": "400320588344662",`+"
"+`
"statusAction": "ACTIVATE",`+"
"+`
"cardCvv": "fbbVg8NQFDwa5rtkjR+Wa4wqiZwUWoxaUVLO2fTFgeYvQ9RGBfyl6H0rpCvtEoEbhbVFTuJGX8hdgjfptOynnrKD5DUFpK0RDi+URuKIunzbiQ9Gq6iqs54S2LaWH0ZVwsvPb4HiP1mOX88oV7xZc7rzWcG1nOBErogItPTijlG/UMvVWU0SYMd+fjBNqMcdMeFe3GLch3KMFpAC4yC+sTSyLj9W8C0vOhF2bA3voxX2Vb5Xv27oR8Xn6jKoR+/ZzK0Ch3aF06P+Xxto/ZGZyvdxsN+s2ldEu+vHbK6QwXC30/U+J8TFOQ0rIbZny3LOtaBK0sbflAdLNlQwaFmCfQ==",`+"
"+`
"isEncrypt": true`+"
"+`
},`+"
"+`
"api": {`+"
"+`
"credential": "{{cred}}",`+"
"+`
"signature": "{{signature}}",`+"
"+`
"apiKey": "{{Api-key}}"`+"
"+`
}`+"
"+`
}`+"
"+`
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'GET',
'hostname': '{{URL}}',
'path': '/cardv2',
'headers': {
'Content-Type': 'application/json'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"method": "ledger.CARD.request",
"id": "1",
"params": {
"payload": {
"reference": "visadps100019",
"product": "DEFAULT",
"program": "DEFAULT",
"channel": "VISA_DPS",
"transactionType": "UPDATE_STATUS",
"customerId": "100000000006001",
"cardId": "5434a20e0a9b4d1bbf8fea3f543f9a05",
"accountNumber": "400320588344662",
"statusAction": "ACTIVATE",
"cardCvv": "fbbVg8NQFDwa5rtkjR+Wa4wqiZwUWoxaUVLO2fTFgeYvQ9RGBfyl6H0rpCvtEoEbhbVFTuJGX8hdgjfptOynnrKD5DUFpK0RDi+URuKIunzbiQ9Gq6iqs54S2LaWH0ZVwsvPb4HiP1mOX88oV7xZc7rzWcG1nOBErogItPTijlG/UMvVWU0SYMd+fjBNqMcdMeFe3GLch3KMFpAC4yC+sTSyLj9W8C0vOhF2bA3voxX2Vb5Xv27oR8Xn6jKoR+/ZzK0Ch3aF06P+Xxto/ZGZyvdxsN+s2ldEu+vHbK6QwXC30/U+J8TFOQ0rIbZny3LOtaBK0sbflAdLNlQwaFmCfQ==",
"isEncrypt": true
},
"api": {
"credential": "{{cred}}",
"signature": "{{signature}}",
"apiKey": "{{Api-key}}"
}
}
});
req.write(postData);
req.end();
Body
{
"method": "ledger.CARD.request",
"id": "1",
"params": {
"payload": {
"reference": "visadps100019",
"product": "DEFAULT",
"program": "DEFAULT",
"channel": "VISA_DPS",
"transactionType": "UPDATE_STATUS",
"customerId": "100000000006001",
"cardId": "5434a20e0a9b4d1bbf8fea3f543f9a05",
"accountNumber": "400320588344662",
"statusAction": "ACTIVATE",
"cardCvv": "fbbVg8NQFDwa5rtkjR+Wa4wqiZwUWoxaUVLO2fTFgeYvQ9RGBfyl6H0rpCvtEoEbhbVFTuJGX8hdgjfptOynnrKD5DUFpK0RDi+URuKIunzbiQ9Gq6iqs54S2LaWH0ZVwsvPb4HiP1mOX88oV7xZc7rzWcG1nOBErogItPTijlG/UMvVWU0SYMd+fjBNqMcdMeFe3GLch3KMFpAC4yC+sTSyLj9W8C0vOhF2bA3voxX2Vb5Xv27oR8Xn6jKoR+/ZzK0Ch3aF06P+Xxto/ZGZyvdxsN+s2ldEu+vHbK6QwXC30/U+J8TFOQ0rIbZny3LOtaBK0sbflAdLNlQwaFmCfQ==", //applicable only for 'ACTIVATE' statusAction
"isEncrypt": true
},
"api": {
"credential": "{{cred}}",
"signature": "{{signature}}",
"apiKey": "{{Api-key}}"
}
}
}
Response: 200
Response Parameters
Parameters | Description |
---|---|
Id | String Response ID echoed from the request ID Sample Value: "1" |
result | Object |
card | Object |
cardId | String Unique ID of the card Sample Value: "5434a20e0a9b4d1bbf8fea3f543f9a05" |
postedDate | String Date and time when the request for status update was posted Sample Value: "2024-11-20T07:28:31.801Z" |
updatedDate | String Date and time when the status was updated Sample Value: "2024-11-20T07:30:48.584Z" |
cardStatus | String Updated current status of card Sample Value: "ACTIVATED" |
allowAtm | Boolean Allowing card for transactions through ATM Sample Value: false |
allowEcommerce | Boolean Allowing card for e-commerce transactions Sample Value: false |
allowMoto | Boolean Allowing card for transactions through mobile Sample Value: false |
allowPos | Boolean Allowing card for point-of-sale (POS) terminal transaction Sample Value: false |
allowTips | Boolean Allowing card for tips transaction Sample Value: false |
allowPurchase | Boolean Allowing card for purchase transaction Sample Value: false |
allowRefund | Boolean Allowing card for refund transaction Sample Value: false |
allowCashback | Boolean Allowing card for cashback transaction Sample Value: false |
allowWithdraw | Boolean Allowing card for ATM withdrawal transaction Sample Value: false |
allowAuthAndCompletion | Boolean Allowing for authorization and completion of transaction that happens through card Sample Value: false |
smart | Boolean Allowing card for smart transaction Sample Value: false |
checkAvsZip | Boolean Allowing card to perform AVS checks on the legalRep ZIP code during transaction Sample Value: false |
checkAvsAddr | Boolean Allowing card to perform AVS checks on the legalRep address during transaction Sample Value: false |
cvv | String Card Verification Value of the card Sample Value: "" |
transactionMade | Boolean Inicates whether any transactions have been made using the card or not Sample Value: false |
isReIssue | Boolean Inicates whether the card is reissued Sample Value: false |
isReplace | Boolean Inicates whether the card replaced Sample Value: false |
api | Object |
type | String Acknowledgement for type of operation requested for Sample Value: "UPDATE_STATUS_ACK" |
reference | String Unique reference for the API response Sample Value: "REFvisadps100019" |
dateCreated | String Unix timestamp of the response was created Sample Value: "1732087851" |
originalReference | String Original reference ID taken from the request Sample Value: "visadps100019" |
{
"id": "1",
"result": {
"card": {
"cardId": "5434a20e0a9b4d1bbf8fea3f543f9a05",
"postedDate": "2024-11-20T07:28:31.801Z",
"updatedDate": "2024-11-20T07:30:48.584Z",
"cardStatus": "ACTIVATED",
"allowAtm": false,
"allowEcommerce": false,
"allowMoto": false,
"allowPos": false,
"allowTips": false,
"allowPurchase": false,
"allowRefund": false,
"allowCashback": false,
"allowWithdraw": false,
"allowAuthAndCompletion": false,
"smart": false,
"checkAvsZip": false,
"checkAvsAddr": false,
"cvv": "",
"transactionMade": false,
"isReIssue": false,
"isReplace": false
},
"api": {
"type": "UPDATE_STATUS_ACK",
"reference": "REFvisadps100019",
"dateCreated": 1732087851,
"originalReference": "visadps100019"
}
}
}